1. Field of the Invention
The present invention relates to a data distribution system and a data distribution method wherein data are distributed to a plurality of servers provided on a network and a recording medium on which a program for executing the data distribution method is recorded.
2. Description of the Related Art
A data distribution system and a data distribution method for distributing various types of data to a plurality of servers provided on a network are described with reference to FIGS. 9 and 10. FIG. 9 shows a configuration of a conventional data distribution system, and FIG. 10 illustrates a conventional data distribution method executed by the data distribution system of FIG. 9. Referring first to FIG. 9, the data distribution system 11 shown includes a distribution server 12, a distribution control apparatus 13 for controlling the distribution method of data of the distribution server 12, a plurality of reception servers 14 (in FIG. 9, five servers 14a, 14b, 14c, 14d and 14e) for receiving data from the distribution server 12, and a plurality of clients 15 (in FIG. 9, three clients 15a, 15b and 15c) connected to the reception servers 14c, 14d and 14e, respectively.
The data distribution system 11 operates in such a manner as illustrated in FIG. 10. Referring to FIG. 10, the distribution server 12 acquires, first in step S601, a list of the reception servers 14 which are included in the communication network from the distribution control apparatus 13. Then in step S602, the distribution server 12 distributes the data to all of the reception servers 14 included in the list acquired in step S601. It is to be noted that the reception servers 14 (14a to 14e) of FIG. 9 are provided to cache data and can store contents data of the WWW (World Wide Web) and streaming media data of a live broadcast and so forth.
Conventionally, the arrangement of the reception servers 14 of the data distribution system 11 having such a configuration as described above is in most cases determined manually, and once a reception servers 14 are installed, then the positions of the reception servers 14 are changed rarely. Further, since a great number of such reception servers 14 are installed independently of the demand by users, the data distribution system 11 has a problem in that it includes an excessively great number of distribution destinations and therefore suffers from excessively high network traffic and besides requires a high cost to cache data in the reception servers 14.
It is an object of the present invention to provide a data distribution system and a data distribution method which can control distribution of data in a network configuration wherein the number of servers used in an initial stage of data distribution is comparatively small but is increased in accordance with a situation so that clients can access impartially.
In order to attain the object of the present invention, there is provided a data distribution system of a network configuration, comprising a distribution server, a plurality of reception servers for receiving data from the distribution server, and a plurality of clients which utilize the reception servers, the distribution server including order determination means for calculating an evaluation value between each of the reception servers and the clients based on a predetermined evaluation expression and determining an order of the reception servers to which data are to be transmitted in accordance with the evaluation values, the order determination means selecting the reception servers so as to be accessed impartially from the clients even if a reception server to be used is increased.
The order determination means may include ideal solution calculation means for selecting combinations of x reception servers from among the reception servers, whose number is n, n being an integer, x being an integer from 1 to n, calculating, for each of the combinations, an evaluation value between each of the reception servers belonging to the combination and the clients connected to the reception server in accordance with the evaluation value, evaluating the evaluation values of the combinations in accordance with an evaluation method determined in advance to select the highest evaluation value from among the evaluation values, determining the selected evaluation value as an ideal solution for the x reception servers, successively determining the ideal solution for x=1 to n to determine a set of n ideal solutions and storing the ideal solutions as evaluation values of the entire network, permutation set production means for producing a set of permutations of the n reception servers, and selection order determination means for selecting y reception servers from each of the permutations produced by the permutation set production means, y being an integer successively increasing from 1 to n, calculating evaluation values between they reception servers and those clients connected to the y reception servers in accordance with the evaluation expression, subtracting the ideal solution for the y reception servers determined by the ideal solution calculation means from the evaluation values to determine differences, adding the differences for y=1 to n to calculate a difference sum for the permutation, determining the difference sum for all of the permutations and selecting the permutation which exhibits the smallest difference sum.
The order determination means may alternatively or additionally include individual evaluation value calculation means for calculating, for each of the n reception servers, an evaluation value between the reception server and those clients connected to the reception server in accordance with the evaluation expression, all evaluation value calculation means for determining the evaluation value with regard to all of the n reception servers and calculating a set of the evaluation values, selection order determination means for evaluating the set of evaluation values produced by the all evaluation value calculation means in accordance with an evaluation method determined in advance to select that one of the reception servers which corresponds to the highest evaluation value and excepting the selected reception server from the group of n reception servers, and discrimination means for discriminating whether or not the selection order of all of the reception servers is determined finally.
According to another aspect of the present invention, there is provided a data distribution method for a data distribution system of a network configuration which includes a distribution server, a plurality of reception servers for receiving data from the distribution server, and a plurality of clients which utilize the reception servers, comprising an order determination step executed by the distribution server of calculating an evaluation value between each of the reception servers and the clients based on a predetermined evaluation expression and determining an order of the reception servers to which data are to be transmitted in accordance with the evaluation values such that the reception servers are selected so as to be accessed impartially from the clients even if a reception server to be used is increased.
The order determination step for selection of the reception servers may include an ideal solution calculation step of selecting combinations of x reception servers from among the reception servers, whose number is n, n being an integer, x being an integer from 1 to n, calculating, for each of the combinations, an evaluation value between each of the reception servers belonging to the combination and the clients connected to the reception server in accordance with the evaluation value, evaluating the evaluation values of the combinations in accordance with an evaluation method determined in advance to select the highest evaluation value from among the evaluation values, determining the selected evaluation value as an ideal solution for the x reception servers, successively determining the ideal solution for x=1 to n to determine a set of n ideal solutions and storing the ideal solutions as evaluation values of the entire network, a permutation set production step of producing a set of permutations of the n reception servers, and a selection order determination step of selecting y reception servers from each of the permutations produced by the permutation set production step, y being an integer successively increasing from 1 ton, calculating evaluation values between they reception servers and those clients connected to the y reception servers in accordance with the evaluation expression, subtracting the ideal solution for the y reception servers determined by the ideal solution calculation step from the evaluation values to determine differences, adding the differences for y=1 to n to calculate a difference sum for the permutation, determining the difference sum for all of the permutations and selecting the permutation which exhibits the smallest difference sum.
The order determination step for selection of the reception servers may alternatively or additionally include an individual evaluation value calculation step of calculating, for each of then reception servers, an evaluation value between the reception server and those clients connected to the reception server in accordance with the evaluation expression, an all evaluation value calculation step of determining the evaluation value with regard to all of the n reception servers and calculating a set of the evaluation values, a selection order determination step of evaluating the set of evaluation values produced by the all evaluation value calculation step in accordance with an evaluation method determined in advance to select that one of the reception servers which corresponds to the highest evaluation value and excepting the selected reception server from the group of n reception servers, and a discrimination step of discriminating whether or not the selection order of all of the reception servers is determined finally.
In the data distribution system and method, where the coordinates of each of the reception servers are represented by (Sx, Sy) and the coordinates of each of the clients are presented by (Cx, Cy), preferably the evaluation value is given by ↑Sxxe2x88x92Cx|+|Syxe2x88x92Cy|.
With the data distribution system and the data distribution system, even where the number of servers utilized in a certain reception server group varies dynamically, a selection order of servers which realizes an arrangement of the servers which always makes accessing from clients impartial can be determined.
The reason is that the distribution control means of the distribution server includes the server selection order determination means, which determines the selection order of the servers using evaluation values calculated in accordance with an evaluation expression determined in advance.
The above and other objects, features and advantages of the present invention will become apparent from the following description and the appended claims, taken in conjunction with the accompanying drawings in which like parts or elements are denoted by like reference symbols.